package common

import (
	"blog_go/global"
	"blog_go/models"
)

// 查询列表page的Sort默认是created_at desc
func ComList[T any](model T, page models.PageInfo) (list []T, count int64, err error) {
	global.DB.Model(&model).Where(model).Count(&count)
	offset := (page.Page - 1) * page.Limit
	// 这样写会执行两条sql,一个select * 一个select count
	//global.DB.Find(&bannerList).Count(&count)
	// 这样就只有一select count语句 Order排序 where放前面如果model有值就是去=去匹配
	err = global.DB.Where(model).Offset(offset).Limit(page.Limit).Order(page.Sort).Find(&list).Error
	return
}
